using System;
using System.Collections.Generic;
using System.Text;

using Mud.Common.Physical;
using Mud.Server.Physical;

namespace Mud.Server.Physical
{

    /// <summary>
    /// Abstract class which encapsulates common functionality of sending the event
    /// to the receiver.
    /// </summary>
    public abstract class PhysicalEvent : IPhysicalEvent
    {

        /// <summary>
        /// Event origin in the area.
        /// </summary>
        public Location Origin
        {
            get { return _origin; }
        }
        private Location _origin;

        public PhysicalEvent(Location origin)
		{
			_origin = origin;
		}

        public abstract void Send(IPhysicalEventReceiver receiver);

    }

}
